package util;

import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class barrageUtil {

    private static JedisPool pool;
    private static JedisPoolConfig config = new JedisPoolConfig();
    //创建 JedisPoll对象

    public static JedisPool open(String ip, int port) {
        if (pool == null) {
            //创建JedisPool
            //创建JedisPoolConfig，给config设置连接池的参数，使用config对象创建JedisPool

            //给config设置连接池的参数
            //设置最大连接数
            config.setMaxActive(3);
            //设置最大空闲数
            config.setMaxIdle(2);
            //初始化连接数
            config.setMinIdle(3);
            //最大等待时间
            config.setMaxWait(200000);
            //设置检查项为true，表示从线程池中获取的对象一定是通过检查可用的
            config.setTestOnBorrow(true);
            //在进行returnObject对返回的connection进行validateObject校验
            config.setTestOnReturn(true);
            //定时对线程池中空闲的链接进行validateObject校验
            config.setTestWhileIdle(true);
            //创建pool对象
            /*
            poolConfig:配置器，JedisPoolConfig
            host：redis所在的Linux下的ip
            host：redis的端口
            timeout：连接redis的超时数，毫秒值
            password：redis的访问密码
             */
            //  pool = new JedisPool(poolConfig,host,port,timeout,password);
            pool = new JedisPool(config,ip,port,10000,"123456");
        }
        return pool;

    }


}